﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using LeadVinaglue.Models;
using LeadVinaglue.Models.ViewPages;
using LeadVinaglue.Repository;
using LeadVinaglue.Utility;

namespace LeadVinaglue.Controllers
{
    public class ContactController : Controller
    {
        LEManagementRepository repository = new LEManagementRepository();

        // GET: /Contact/
        [DeviceFilterAttribute(Order = 1)]
        public ActionResult Index()
        {
            LEManagementModel model = new LEManagementModel();
            model = repository.GetContactModel(LeadConstant.CONTACT);
            ViewBag.ErrorMessage = "";
            
            return View(model);
        }
        [HttpPost]
        public ActionResult Index(FormCollection form, string returnUrl)
        {
            ContactManagementRepository ctRepository = new ContactManagementRepository();
            Contact contact = new Contact();
            contact.Name = form["Fullname"].ToString();
            contact.Email = form["Email"].ToString();
            contact.Phone = form["Phone"].ToString();
            contact.Message = form["Message"].ToString();

            // 1: Save contact to db
            ctRepository.Create(contact);

            // 2: Send an email to contact
            bool success = false;
            UserEmailToken.SendEmail(contact, "contact", ref success);
            if (success)
                ViewBag.ErrorMessage = "Bạn gửi liên hệ thành công. Chúng tôi sẽ liên hệ với bạn sớm nhất khi nhận được thông tin của bạn.";
            else
                ViewBag.ErrorMessage = "Có lỗi trong quá trình xử lý. Xin hãy chắc chắn địa chỉ e-mail bạn vừa nhập là chính xác.";

            // If we got this far, something failed, redisplay form
            LEManagementModel model = new LEManagementModel();
            model = repository.GetContactModel(LeadConstant.CONTACT);

            return View(model);
        }
    }
}
